///////////////////////////////////////////////////////////
//  CloudLayer.h
//  Implementation of the Class CloudLayer
//  Created on:      21-sep-2007 15:40:08
///////////////////////////////////////////////////////////

#if !defined(EA_62D806DA_B455_4b21_8D17_017C5A7CB618__INCLUDED_)
#define EA_62D806DA_B455_4b21_8D17_017C5A7CB618__INCLUDED_

#include "ViewableXML.h"
#include "ObjectDomain.h"
#include "../../indexado/fuentes/RecordHandler.h"
#include "../../indexado/fuentes/OrganizationCommons.h"

#define SIZE_CLOUDLAYER_SCHEMA 7

#include <string>

class CloudLayer : public ViewableXML, public ObjectDomain
{

public:
	CloudLayer();
	CloudLayer(const CloudLayer & cl);
	virtual ~CloudLayer();
	std::string getValor(std::string atribName);
	void loadAtribFromNode(XMLNode* node);
	void loadRegistro(void* registro);
	void saveInRegistro(void* reg);		
	campo* getSchema();
	campo* getPrimaryKey();
	bool EsMayor(std::string atributte, Persistent *object);
	std::string getKey();
	void setKey(std::string key);
	XMLNode* toViewXML();
	
	int getSchemaSize();
	void setHeight(std::string ht);
	std::string getHeight(void);
	void setType(std::string ht);
	std::string getType(void); 
	void setSampleCode(std::string code);
	std::string getSampleCode(void); 
	void setDate(std::string date);
	std::string getDate(void); 
	void setStationCode(std::string code);
	std::string getStationCode(void);
	void setPKCloudLayer(std::string pk);
	std::string getPKCloudLayer();
	
	void print();
	
	const CloudLayer & operator=(const CloudLayer&);
	
	static campo PK[2];
	static campo CODE[2];
	static campo CODE_SAMPLE[2];
	static campo HEIGHT[2];
	static campo TYPE[2];
	static campo DATE[2];
	
	static campo CLOUDLAYER_SCHEMA[SIZE_CLOUDLAYER_SCHEMA];
private:
	std::string PKCloudLayer;
	std::string stationCode;
	std::string sampleCode;
	std::string height;
	std::string type;
	std::string date;
	
};

#endif // !defined(EA_62D806DA_B455_4b21_8D17_017C5A7CB618__INCLUDED_)

